package studentinformationmanagementsystem.service;

import studentinformationmanagementsystem.entity.Classandgrade;
import studentinformationmanagementsystem.entity.Course;
import studentinformationmanagementsystem.entity.Page;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface CourseService {

    /**
     * 添加课程信息
     * @param course
     */
    int register(Course course);


    /**
     *  根据ID更新课程信息
     * @param course  课程对象
     * @return 受影响的记录行数
     */
    int update(Course course);


    /**
     *  根据ID删除课程
     * @param course 课程ID
     * @return 受影响的记录行数
     */
    int delete(Course course);

    /**
     * 查询所有课程信息
     * @return 所有课程信息
     */
    List<Course> queryAll();


    /**
     * 根据课程ID查询课程信息
     * @param course 课程ID
     * @return 课程信息
     */
    Course queryById(Course course);


    /**
     * 分页查询
     * @param pageNo  查询页码
     * @param pageSize  每页的记录数
     * @return
     */
    Page<Course> page(int pageNo, int pageSize);


    /**
     * 检查课程名称是否已存在
     * @param course
     * @return true 课程名称已存在
     */
    boolean isExistsByCourseNname(Course course);
    /**
     * 检查课程编号是否已存在
     * @param course
     * @return true 课程名称已存在
     */
    boolean isExistsByNumber(Course course);


    /**
     * 查看课程数量
     * @return
     */
    Integer queryCoureCount ();

}
